package cc.yaomm.service.basic.service.user.bo;

import cc.yaomm.common.basic.enums.PermissionTypeEnum;
import cc.yaomm.common.basic.enums.StatusEnum;
import cc.yaomm.common.basic.lang.bo.BaseResultBO;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 * Created by XQL on 2021/6/18.
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class PermissionResultBO extends BaseResultBO {

    /**
     * 权限ID
     */
    private Long id;

    /**
     * 权限名
     */
    private String name;

    /**
     * 权限编码
     */
    private String code;

    /**
     * 权限别名,提供给前端绑定控件
     */
    private String alias;

    /**
     * 路由名
     */
    private String router;

    /**
     * 类型 1-目录 2-菜单 3-按钮
     */
    private PermissionTypeEnum type;

    /**
     * 状态 1-正常 2-锁定 0-删除
     */
    private StatusEnum status;

    /**
     * 图标
     */
    private String icon;

    /**
     * 排序值
     */
    private Integer sort; //

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 子路由
     */
    private List<PermissionResultBO> children;

    /**
     * 关联资源
     */
    private List<ResourceResultBO> resources;
}
